a11y: Remove AtkStreamableContent implementation
authorBenjamin Otte <otte@redhat.com>
Mon, 27 Nov 2017 01:15:53 +0000 (02:15 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 30 Nov 2017 04:03:33 +0000 (23:03 -0500)
That is some old code that still uses IOChannels, and the only
pseudouser is at-spi-atk's commented out code that is still using
CORBA types.

So get rid of it now before I need to start adapting it to the new
clipboard.

gtk/a11y/gtktextviewaccessible.c
testsuite/a11y/text.txt

index 085f6284cee2b4f94b0db51bb6086a1384868d41..bfc366254cd6c9581a39ec8b6bdd6e29447d95a1 100644 (file)
@@ -56,13 +56,11 @@ static void       mark_set_cb          (GtkTextBuffer    *buffer,
 
 static void atk_editable_text_interface_init      (AtkEditableTextIface      *iface);
 static void atk_text_interface_init               (AtkTextIface              *iface);
-static void atk_streamable_content_interface_init (AtkStreamableContentIface *iface);
 
 G_DEFINE_TYPE_WITH_CODE (GtkTextViewAccessible, gtk_text_view_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
                          G_ADD_PRIVATE (GtkTextViewAccessible)
                          G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init)
-                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init)
-                         G_IMPLEMENT_INTERFACE (ATK_TYPE_STREAMABLE_CONTENT, atk_streamable_content_interface_init))
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 
 static void
@@ -1826,146 +1824,6 @@ mark_set_cb (GtkTextBuffer *buffer,
     }
 }
 
-static gint
-gail_streamable_content_get_n_mime_types (AtkStreamableContent *streamable)
-{
-  GtkWidget *widget;
-  GtkTextBuffer *buffer;
-  gint n_mime_types = 0;
-
-  widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (streamable));
-  if (widget == NULL)
-    return 0;
-
-  buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
-  if (buffer)
-    {
-      gint i;
-      gboolean advertises_plaintext = FALSE;
-      GdkAtom *atoms;
-
-      atoms = gtk_text_buffer_get_serialize_formats (buffer, &n_mime_types);
-      for (i = 0; i < n_mime_types-1; ++i)
-        if (!strcmp ("text/plain", gdk_atom_name (atoms[i])))
-            advertises_plaintext = TRUE;
-      if (!advertises_plaintext)
-        n_mime_types++;
-    }
-
-  return n_mime_types;
-}
-
-static const gchar *
-gail_streamable_content_get_mime_type (AtkStreamableContent *streamable,
-                                       gint                  i)
-{
-  GtkWidget *widget;
-  GtkTextBuffer *buffer;
-
-  widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (streamable));
-  if (widget == NULL)
-    return 0;
-
-  buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
-  if (buffer)
-    {
-      gint n_mime_types = 0;
-      GdkAtom *atoms;
-
-      atoms = gtk_text_buffer_get_serialize_formats (buffer, &n_mime_types);
-      if (i < n_mime_types)
-        return gdk_atom_name (atoms [i]);
-      else if (i == n_mime_types)
-        return "text/plain";
-    }
-
-  return NULL;
-}
-
-static GIOChannel *
-gail_streamable_content_get_stream (AtkStreamableContent *streamable,
-                                    const gchar          *mime_type)
-{
-  GtkWidget *widget;
-  GtkTextBuffer *buffer;
-  gint i, n_mime_types = 0;
-  GdkAtom *atoms;
-
-  widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (streamable));
-  if (widget == NULL)
-    return 0;
-
-  buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (widget));
-  if (!buffer)
-    return NULL;
-
-  atoms = gtk_text_buffer_get_serialize_formats (buffer, &n_mime_types);
-
-  for (i = 0; i < n_mime_types; ++i)
-    {
-      if (!strcmp ("text/plain", mime_type) ||
-          !strcmp (gdk_atom_name (atoms[i]), mime_type))
-        {
-          guint8 *cbuf;
-          GError *err = NULL;
-          gsize len, written;
-          gchar tname[80];
-          GtkTextIter start, end;
-          GIOChannel *gio = NULL;
-          int fd;
-
-          gtk_text_buffer_get_iter_at_offset (buffer, &start, 0);
-          gtk_text_buffer_get_iter_at_offset (buffer, &end, -1);
-          if (!strcmp ("text/plain", mime_type))
-            {
-              cbuf = (guint8*) gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
-              len = strlen ((const char *) cbuf);
-            }
-          else
-            {
-              cbuf = gtk_text_buffer_serialize (buffer, buffer, atoms[i], &start, &end, &len);
-            }
-          g_snprintf (tname, 20, "streamXXXXXX");
-          fd = g_mkstemp (tname);
-          gio = g_io_channel_unix_new (fd);
-          g_io_channel_set_encoding (gio, NULL, &err);
-          if (!err)
-            g_io_channel_write_chars (gio, (const char *) cbuf, (gssize) len, &written, &err);
-          else
-            g_message ("%s", err->message);
-          if (!err)
-            g_io_channel_seek_position (gio, 0, G_SEEK_SET, &err);
-          else
-            g_message ("%s", err->message);
-          if (!err)
-            g_io_channel_flush (gio, &err);
-          else
-            g_message ("%s", err->message);
-          if (err)
-            {
-              g_message ("<error writing to stream [%s]>", tname);
-              g_error_free (err);
-            }
-          /* make sure the file is removed on unref of the giochannel */
-          else
-            {
-              g_unlink (tname);
-              return gio;
-            }
-        }
-    }
-
-  return NULL;
-}
-
-static void
-atk_streamable_content_interface_init (AtkStreamableContentIface *iface)
-{
-  iface->get_n_mime_types = gail_streamable_content_get_n_mime_types;
-  iface->get_mime_type = gail_streamable_content_get_mime_type;
-  iface->get_stream = gail_streamable_content_get_stream;
-}
-
 void
 _gtk_text_view_accessible_set_buffer (GtkTextView   *textview,
                                       GtkTextBuffer *old_buffer)
index d64f85004d4916bc5b69b1e6dca2a0e355175234..f69dfca29ca20075bc49549fe62c278aecd978a6 100644 (file)
@@ -46,5 +46,3 @@ Did gyre and gimple in the wabe
                         variant: <omitted>
                         weight: <omitted>
                         wrap-mode: none
-    <AtkStreamableContent>
-    mime types: application/x-gtk-text-buffer-rich-text text/plain